*{
	box-sizing: border-box;
	margin: 0;
	padding:0;
}
*:focus{
	outline:none;
}
img{
	width: 100%;
	vertical-align: middle;
}

html{
	height: 100%;
}
body{
	margin:auto;	
	height: 100vh;	
	font-family: 'Hind', sans-serif;
	font-weight: 100;	
}
header{
	/*display: flex;	*/
	background-color: #000;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 999;
	overflow: hidden;
	padding: 20px 100px;
}
header h3{
	/*font-family: 'Cardo', serif;*/
	font-family: 'Hind', sans-serif;
	font-weight: 100;	
	font-size: 25px;	
	text-transform: uppercase;	
	/*margin: 20px;*/
	float: left;
}
header h3 a{
	color: #fff;
	text-decoration: none;
}
header button{
	color:#fff;
	font-size: 30px;
	background: none;
	border:none;
	cursor: pointer;	
	float: right;	
	/*margin: 20px;*/	
}

.home header button{
	visibility: hidden;
}
.columns{
	display: flex;	
	position: fixed;	
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100;	
}
.columns > div{
	min-height: calc(100vh + 50px);	
	flex: 1;	
	overflow: hidden;
}
.columns > div > div{
	width: 0;
	min-height: calc(100vh + 50px);
	background:#000;		
	display: none;
}
.open .columns > div > div{
	display: block;
	animation: openColumns .8s 0s forwards ease-in-out;	
}
.home .open .columns > div > div{
	animation: openColumns .8s 1s forwards ease-in-out;		
}
.closing .columns > div > div,
.home .closing .columns > div > div{
	width: 100%;	
	border-right: 1px solid #333;	
}
.closing .columns > div > div p{
	visibility: hidden;
}
.closing .columns > div > div,
.home .closing .columns > div > div{	
	animation: closeColumns .8s .6s forwards ease-in-out;	
}
.open .columns p{
	position: absolute;	
	color: #fff;
	width: calc(100vw / 5);
	font-size: 14px;	
	padding-right: 10px;		
	opacity: 0;
	top: 426px;	
	line-height: 1.5;
	animation: delayShow .6s 1.3s forwards;
}
@keyframes delayShow{
	100%{opacity: 1;}
}

.closing .columns p{	
	opacity: 0;
	transition: 1s;
}
.home .closing + footer{
	transition: 1s 1.5s;
	transform: translateY(100px);
}

.veil{
	position: fixed;
	width: 100%;
	background:#fff;
	opacity: 1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;	
	animation: pageReveal .5s .5s forwards ease-in-out;	
	visibility:visible;
}

@keyframes pageReveal{
	100%{
		visibility:hidden;
		opacity: 0;
	}
}
.veil.closing{
	animation: none;	
}

@keyframes openColumns{
	100%{
		width: 100%;
		border-right: 1px solid #333;
	}
}
@keyframes closeColumns{		
	100%{		
		margin-left: 100%;
	}
}
.global-nav{
	height: calc(100vh);		
	position: relative;
	display: none;	
}
.global-nav.open{
	display: block;
	position: fixed;	
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;	
}
.home .global-nav{
	background: #fff url(images/intro_slide1_img.jpg) no-repeat bottom;
	background-size: cover;
	background-position: bottom right;
}



.global-nav .main-list{
	position: absolute;
	/*background:rgba(000,000,000,0.9);*/
	/*width:100%;*/
	left: calc(100vw / 5);
	top:50px;
	/*height: 0;*/
	margin-top: 50px;
	overflow: hidden;
	z-index: 999;
	list-style: none;		
	transition:height .3s;
	text-align: left;	
	color: #fff;		
}


.global-nav .main-list li{	
	width: calc((100vw / 5)*2);
	transform: translateX(-1000px);
	cursor: pointer;	
}
.home .global-nav.open .main-list li:nth-child(1){animation: openNav .7s 2s ease-in-out forwards;}
.home .global-nav.open .main-list li:nth-child(2){animation: openNav .7s 2.05s ease-in-out forwards;}
.home .global-nav.open .main-list li:nth-child(3){animation: openNav .7s 2.1s ease-in-out forwards;}
.home .global-nav.open .main-list li:nth-child(4){animation: openNav .7s 2.15s ease-in-out forwards;}
.home .global-nav.open .main-list li:nth-child(5){animation: openNav .7s 2.2s ease-in-out forwards;}

.global-nav.open .main-list li:nth-child(1){animation: openNav .7s 1s ease-in-out forwards;}
.global-nav.open .main-list li:nth-child(2){animation: openNav .7s 1.05s ease-in-out forwards;}
.global-nav.open .main-list li:nth-child(3){animation: openNav .7s 1.1s ease-in-out forwards;}
.global-nav.open .main-list li:nth-child(4){animation: openNav .7s 1.15s ease-in-out forwards;}
.global-nav.open .main-list li:nth-child(5){animation: openNav .7s 1.2s ease-in-out forwards;}

.home .global-nav.closing .main-list li,
.global-nav.closing .main-list li{transform: translateX(0);}

.home .global-nav.closing .main-list li:nth-child(1),
.global-nav.closing .main-list li:nth-child(1){animation: closeNav 1s 0s ease-in-out forwards;}

.home .global-nav.closing .main-list li:nth-child(2),
.global-nav.closing .main-list li:nth-child(2){animation: closeNav 1s .05s ease-in-out forwards;}

.home .global-nav.closing .main-list li:nth-child(3),
.global-nav.closing .main-list li:nth-child(3){animation: closeNav 1s .1s ease-in-out forwards;}

.home .global-nav.closing .main-list li:nth-child(4),
.global-nav.closing .main-list li:nth-child(4){animation: closeNav 1s .15s ease-in-out forwards;}

.home .global-nav.closing .main-list li:nth-child(5),
.global-nav.closing .main-list li:nth-child(5){animation: closeNav 1s .2s ease-in-out forwards;}

@keyframes openNav{
	100%{
		transform: translateX(0);		
	}
}
@keyframes closeNav{	
	20%{
		transform: translateX(-20px);
	}
	100%{
		transform: translateX(1000px);
	}	
}
.global-nav .main-list li.open{	
	transition: .3s ease-in-out;
}
.global-nav .main-list li.open{
	
}

.global-nav .main-list > li > a{
	position: relative;
	/*display: inline-block;*/
	transition: .5s;
}

.global-nav .main-list > li > a:hover,
.global-nav .main-list > li > a.selected{
	color: #007E8F;	
}

.global-nav .main-list li a{
	color: #fff;
	/*font-family: 'Josefin Sans', sans-serif;*/
	font-family: 'Bebas Neue', cursive;
	text-decoration: none;
	font-size: 80px;
	line-height: 1;	
}
.global-nav .main-list li .sub-list{	
	padding-top: 20px;
	padding-left: 0;
	list-style: none;	
}
.global-nav .main-list li .sub-list li a{
	font-size: 15px;
	color: #999;	
	transition: 0.2s;	
}
.global-nav .main-list li .sub-list li:hover a{
	color: #fff;		
}

.content-section{
	/*max-width: 1100px;*/
	margin: 100px auto;	
	padding: 100px;
}
.content-section h1{
	font-family: 'Bebas Neue', cursive;
	font-size: 100px;
	color: #007E8F;
	line-height: 0.8;			
	margin-bottom: 50px;
}

.content-section >  img{
	padding: 10px;
	border: 1px #007E8F solid;
	margin: 20px 0;
}

.content-section h2{
	font-size: 30px;
	margin: 100px 0 20px 0;
	color: #007E8F;
}
.content-section h3{
	margin: 50px 0 20px 0;	
}
.content-section p{
	font-size: 20px;
	line-height: 1.7;
	margin-bottom: 20px;
}
.content-section ul{
	margin: 20px 0 50px 50px;
}
.content-section ul li{
	margin-bottom:10px;
	font-size: 18px;
}
.content-section a{
	color: #000;
	transition: 0.3s;
}
.content-section a:hover{
	color: #007E8F;
}

.content-section .featured-text{
	display: flex;	
	margin:50px 0;
}
.content-section .featured-text > h2{
	font-size: 40px;
	margin: 0 0px 0 0;	
	color: #007E8F;
	font-weight: 100;
	flex: 1;
	line-height: 1.3;	
}
.content-section .featured-text > h2 img{
	width: auto;	
	margin-left: 80%;
	margin-top: -25px;	
}
.content-section .featured-text > p,
.content-section .featured-text > div
{
	font-size: 20px;
	line-height: 1.7;
	flex: 2;
	/*font-weight: 400;*/
	margin-left: 100px;	
}

.content-section .next{
	margin-top:100px;
	padding-top: 50px;
	border-top:1px solid #333;
	text-align: right;
}
.content-section .next p a{
	font-size: 35px;
	font-weight: 100;
	transition: .4s;	
}
.content-section .next p i{
	transition: .4s;
}
.content-section p a:hover{
	text-decoration: underline;
	cursor: pointer;
	color: #007E8F;
}
.content-section p a:hover i{
	transform: translateX(20px);	
	color: #007E8F;
}
.brands img{
	width: auto;	
}
.projects-grid{
	display: grid;
	grid-template-columns: 1fr .2fr 1fr;
	grid-template-rows: auto;	
	grid-auto-rows: auto;	
	align-items: flex-start;
	margin-top: 50px;
}
.projects-grid .project-item:nth-child(2n+1){
	grid-column-start: 1;
}
.projects-grid .project-item:nth-child(2n+2){
	grid-column-start: 3;
}

.projects-grid .project-item{			
	margin-bottom: 100px;
}
.projects-grid .project-item img{
	/*padding: 10px;	
	border:1px solid #007E8F;*/	
}
.project-item img + figcaption{
	font-size: 14px;
	font-weight: 400;
	color: #ababab;
	margin-top: 5px;

}
.projects-grid .project-item h3{
	margin-top: 20px;
	font-weight: 100;
	font-size: 25px;
	color: #007E8F;
}
.projects-grid .project-item ul,
.block ul {
	list-style: none;
	padding: 0;
	margin: 0;	
}
.projects-grid .project-item ul li,
.block ul li{
	font-size: 16px;
	display: inline-block;
	margin-right: 20px;
}
.projects-grid .project-item .project-cta,
.projects-grid .project-item span,
a.out-cta
{
	color: #007E8F;	
	font-size: 16px;
	text-decoration: none;
	display: block;
	margin-top: 20px;
	transition: .3s;
}
.projects-grid .project-item .project-cta:hover,
a.back-btn:hover,
a.out-cta:hover{
	text-decoration: underline;	
}
.projects-grid .project-item .project-cta i,
a.back-btn i,
a.out-cta i{
	transition:.3s;
}
.projects-grid .project-item .project-cta:hover i,
a.out-cta:hover i{
	transform: translateX(5px);	
}
a.back-btn{
	color: #007E8F;	
	font-size: 16px;
	text-decoration: none;
	display: block;
	margin-bottom: 20px;
	transition: .3s;
	cursor: pointer;
}
a.back-btn:hover i{
	transform: translateX(-5px);	
} 

.block{
	background: #edfdff;
	padding: 5% 10%;
	margin: 50px 0;
}
.block ul li{
line-height: 1.5;
}
.centred-vid{
	width: 80%;
	display: block;
	margin: auto;
	padding: 10px;
	border: 1px #007E8F solid;
}

.quote{
	display: flex;
	width: 100%;
	margin: 100px auto;
	text-align: center;
}
p.quote-mark{	
	width: 30%;
	font-size: 150px;
	padding-right: 50px;
	margin-right: 50px;	
	font-family: cursive;
	line-height: 0;
	padding-top: 80px;
	text-align: right;
}
p.quote-text{
	text-align: left;
	width: 50%;	
	border-left: 1px solid #007E8F;
	padding-left: 50px;
	font-style: italic;
	margin-bottom: 0;
}

.highlight{
	border-left: 1px solid #007E8F;
	padding-left: 50px;	
}
.highlight + .out-cta{
	margin-left: 50px;
	margin-bottom: 100px;		
}
ul.media{
	list-style: none;
	padding: 0;
	margin-left:0; 
}
ul.media li{
	margin-bottom: 50px;
}
.content-section .kill-space{
	margin-top:0;
	padding-top: 0; 
}
.mailing-list #mc_embed_signup_scroll{
	text-align: center;
}
.mailing-list label{
	display: block;
	font-size: 18px;
	font-weight: bold;
	/*text-align: center;*/
	margin-bottom: 10px;
}
.mailing-list #mce-EMAIL{
	width: 30%;
	padding: 14px;
	font-size: 16px;
	vertical-align: middle;
	border: 1px solid #007E8F;
	border-radius: 5px;
}
.mailing-list #mc-embedded-subscribe,
.contact input[type='submit'],
.contact .refresh-btn{
	width: 20%;	
	padding: 15px;
	border-radius: 5px;
	font-size: 14px;
	background: #007E8F;
	color: #fff;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: bold;
	vertical-align: middle;
	transition: 0.3s;
	cursor: pointer;
}
.mailing-list #mc-embedded-subscribe:hover,
.contact input[type='submit']:hover,
.contact .refresh-btn:hover{
	color: #fff;
	background: #03262b;
}
.testimonials{
	position: relative;
	z-index: 0;
}
.education .testimonials{
	min-height: 300px;
}
.testimonials .quote .quote-text{
	display: none;
	opacity: 0;
	transition: 0.3s;
}
.testimonials .quote .quote-text.display{
	display: block;
	opacity: 1;
}
.testimonials .quote .quote-text .quote-context{
	font-size: 14px;
	color: #007e8f;
	display: block;
	margin-top: 20px;	
}
.testimonials .arrow{
	font-size: 75px;
	text-align: right;
	line-height: 0;
	/*transform: translateY(-225px);*/
	cursor: pointer;
	transition:.3s;
	position: absolute;
	top: 20px;
	right: 0;
	z-index: 1;
}
.testimonials .arrow:hover{
	color: #007E8F;
}
.past-list span{
	display: block;
	color: #007e8f;
	font-size: 16px;
}
.past-list ul{
	margin: 0 0 10px 0;
}
.past-list ul li{
	margin: 0;
	font-size: 16px;
}

.contact form .prevention{
	visibility: hidden;
	position: absolute;
}
.contact form > div{
	margin: 20px 0;
}
.contact form .label{
	display: block;	
	font-size: 18px;			
	margin-bottom: 10px;
	
}
.contact form .error{
	display: block;
	margin-top: 5px;
	font-size: 14px;		
	margin-bottom: 10px;
	color: #c00;
	opacity: 0;
	transition: .5s;
}
.contact form .error.show{
	opacity: 1;
}
.contact form input,
.contact form textarea{
/*	position: relative;	*/
	width: 100%;
	max-width: 500px;
	padding: 14px;
	font-size: 16px;
	vertical-align: middle;
	border: 1px solid #007E8F;
	border-radius: 5px;
}
.contact form textarea{
	min-height: 100px;
}
.contact .thanks-msg{
	display: none;
}
.contact .content-section{
	margin-bottom:0;
}
.contact .send-animation span{
	display: inline-block;
	width: 15px;
	height:15px;
	border-radius: 50%;
	background:#007E8F;
	margin-right: 10px;
	opacity: 0;
}
.contact .send-animation span:nth-child(1){animation: loader 4s 1s  infinite;}
.contact .send-animation span:nth-child(2){animation: loader 4s 1.5s  infinite;}
.contact .send-animation span:nth-child(3){animation: loader 4s 2s  infinite;}
.contact .send-animation span:nth-child(4){animation: loader 4s 2.5s  infinite;}
.contact .send-animation span:nth-child(5){animation: loader 4s 3s  infinite;}
@keyframes loader{
	0%{opacity: 0;}
	25%{opacity: 1}	
	100%{opacity: 0}
}
.contact .refresh-btn{	
	display: none;	
}
.contact .refresh-btn.display{
	display: block;
	margin-top: 50px;
}


footer{
	display: flex;		
	background-color: #000;		
	padding: 10px 20px;		
}
.home footer{
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;
}


/*.home-sections + footer{
	transform: translateY(-20px);
}*/
footer p{
	margin: 0;
	color: #fff;
	font-size: 14px;
	/*font-family: 'Josefin Sans', sans-serif;*/
	padding-top: 10px;	
}
footer .social-media{
	margin-left: auto; 
	padding-right: 10px;
}
footer .social-media a{
	font-size: 25px;
	color:#fff;
	margin-left: 25px;
	transition:.2s;
	cursor: pointer;
	display: inline-block;
}
footer .social-media a:hover{
	transform: scale(1.5);
}
footer .social-media a i{
	position: relative;
}
footer .social-media a i.fa-instagram:after{
	content:"\2665";
	position:absolute;
	top:0px;
	left:0px;
	color:red;
	font-size: 0px;
	z-index: -1;	
}
footer .social-media a:hover i.fa-instagram:after{
	font-size: 20px;
	left:10px;
	top:-50px;
	opacity:0;
	transition:2s;	
}
footer .social-media a i.fa-linkedin:after{
	content: "\f0c1";
    font-family: FontAwesome;
	position:absolute;
	font-weight: bold;
	top:0px;
	left:10px;
	color:#0084bf;
	font-size: 0px;
	z-index: -1;	
}
footer .social-media a:hover i.fa-linkedin:after{
	font-size: 20px;
	left:0px;
	top:-50px;
	opacity:0;
	transition:2s;	
}
footer .social-media a i.fa-twitter:after{
	content: "\f086";
    font-family: FontAwesome;
	position:absolute;
	font-weight: bold;
	top:0px;
	left:5px;
	color:#1da1f2;
	font-size: 0px;
	z-index: -1;	
}
footer .social-media a:hover i.fa-twitter:after{
	font-size: 20px;	
	top:-50px;
	opacity:0;
	transition:2s;	
}
footer .social-media a i.fa-facebook:after{
	content: "\f087";
    font-family: FontAwesome;
	position:absolute;
	font-weight: bold;
	top:0px;
	left:15px;
	color:#5d92ff;
	font-size: 0px;
	z-index: -1;	
}
footer .social-media a:hover i.fa-facebook:after{
	font-size: 20px;	
	top:-50px;
	left:-5px;
	opacity:0;
	transition:2s;	
}
.error-gif{
	max-width: 500px;
}




@media screen and (max-width: 1024px){	
	.global-nav .main-list li a{
		font-size: 60px;
	}
}
@media screen and (max-width: 950px){
	body{
		width: 100%;
		max-width: 100%;
	}
	.content-section{
		margin:100px 20px 20px 20px;
		padding: 50px;
	}
	.content-section .featured-text {
		display: block;
	}
	.content-section .featured-text > h2{
		margin-bottom: 20px;
	}
	.content-section .featured-text > p,
	.content-section .featured-text > div{
		margin-left: 0;
	}
	.content-section .featured-text > h2 img{
		margin-left: 0;
	}
	.mailing-list #mc-embedded-subscribe,
	.contact input[type='submit'],
	.contact .refresh-btn,
	.mailing-list #mce-EMAIL {
		width: auto;
	}
	.quote{
		display: block;
		margin:20px auto;
	}
	p.quote-mark{
		font-size:100px;
		text-align: left;
		margin-left: 20px;
	}
	p.quote-text{
		width: 100%;
		padding-left: 20px;
	}
	.global-nav .main-list li {
		width: calc((100vw / 5)*3);
		margin-bottom: 15px;
	}
	.global-nav .main-list li a {
		font-size: 9vw;
	}
	.open .columns p{
		left: calc(100vw / 5);
		width: calc((100vw / 5)*3);
		line-height: 1.3;
		top:60vh;
		font-size: 25px;
	}
}
@media screen and (max-width:690px) and (orientation: landscape){
	.global-nav .main-list li {
		width: calc((100vw / 5)*3);
		margin-bottom: 5px;
	}
	.global-nav .main-list li a {
		font-size: 4vw;
	}
	.open .columns p{
		left: calc((100vw / 5)*2);
		width: calc((100vw / 5)*2);
		line-height: 1.3;
		top:60vh;
		font-size: 14px;
	}
}
@media screen and (max-width: 480px){
	body{
		width: 100%;
		max-width: 100%;

	}
	header{
		padding:10px;
	}	
	header h3,
	.global-nav button{
		font-size: 18px;

	}
	.open .columns p{		
		font-size: 16px;
	}
	.contact footer{
		position: fixed;
		bottom: 0;
		width: 100%;
	}
	.contact form > div{
		margin:0;
	}
	footer .social-media{
		padding-top: 2px;
	}
	footer .social-media a {
	    font-size: 20px;	 
	    margin-left: 7px;	    

	}
	footer{
		padding:15px 5px;
	    transform: translateY(0);
	}
	footer p {
		/*display: inline-block;*/
		font-size: 10px;		
	}
	header{
		width: 100vw;
	}
	.content-section {
		padding: 20px;
		margin: 100px auto 50px auto;
	}
	.content-section h1 {
		font-size: 60px;
		margin-bottom: 10px;
	}
	.content-section .featured-text{
		display: block;	
		margin:20px 0;
	}
	.content-section .featured-text h2{
		font-size: 30px;
		margin-bottom: 20px;
	}
	.content-section .featured-text > p, 
	.content-section .featured-text > div{
		margin-left: 0;
	}
	.content-section p{
		font-size: 18px;
	}
	.content-section ul {
		margin:20px 0 20px 20px;
	}
	.content-section ul {
		line-height: 1.3;
	}
	
	.content-section .next{
		margin-top: 50px;

	}
	.content-section .next p a {
		font-size: 25px;
	}
	.brands img{
		width: 30%;
	}
	.projects-grid{
		display: block;
	}
	.block{
		padding: 2%;
	}
	.block ul li b{
		display: block;
	}
	.highlight{
		padding-left:20px;
	}
	.highlight + .out-cta{
		margin-left: 20px;
	}
	.quote{
		display: block;
		margin:20px auto;
	}
	p.quote-mark{
		font-size:100px;
	}
	p.quote-text{
		width: 100%;
		padding-left: 20px;
	}
	.centred-vid{
		width: 100%;
	}
	.content-section .featured-text > h2 img{
		margin:auto;
	}	
	
}

.email-name:before{
	content: "guy";	
}
.email-at:before{
	content: "\0040";
}
.email-domain:before{
	content: "guymatorin";
}
.email-dot:before{
	content: "\002e";
}
.email{
	display: inline-block;
}